
交互式会话(REPL)
命令行工具
脚本
包/项目
变量: 与某个值相关联的名字, 保存一个值, 以供后续代码使用。
# 将 10 赋值给变量x
x = 10
# 使用x进行计算
x + 1
# 重新赋值x
x = 1 + 1
x = "Hello SDAU"
# 变量名
# - 变量名必须以字母、数字、下划线_和句点.组成
# - 变量名的第一个字符不能为数字或者特殊符号
# - 大小写敏感
x=1
X=2
1y=3 # oops!
# 整数Int (Integer)
10, -1, 0
# 浮点数Float
1.2, 0.3, 5.5
# 字符串
"abc", "123", "登高必自"
# 数组 (array), 向量 (vector), 列表(list)
[1,2,3,4]
["a", "b", "c", "d"]
# 混合元素的数组(嵌套数组)
[
1,
"a",
[3, 4],
"b"
] # 在R中是 列表(list)
# 字典, 哈希表 (在R语言中, 是具名数组, 或具名列表)
dd = Dict(
# Key => Value, 键 => 值,
"name" => "ST.Gui",
"age" => 18,
"height" => 185
)
dd["name"]
# 多维数组, 矩阵
julia> [1 2 3; 4 5 6; 7 8 9]
3×3 Matrix{Int64}:
1 2 3
4 5 6
7 8 9
# 基础数学运算: +, -, *, /, ÷, %, ^
2 + 1
2 - 1
2 * 3
3 / 2
3 ÷ 2
3 % 2
2 ^ 3
# 数值比较: ==, !=, <, >, <=, >=
2 == 2
2 >= 1
# 布尔运算(逻辑运算): !, &&, ||
2 > 1 && 2 > 3
2 > 1 || 2 > 3
! (2 > 1)
# 位运算(超纲了, 略过):
# ~, &, |, \xor, \nand, \nor, >>>, >>, <<
# 编程语言中的函数跟数学中的函数概念类似, y = f(x)
function my_add(x, y)
x + y
end
my_add(1, 2)
# 可选参数和默认值
using Dates
function Date(y::Int64, m::Int64=1, d::Int64=1)
err = validargs(Date, y, m, d)
err === nothing || throw(err)
return Date(UTD(totaldays(y, m, d)))
end
Date(2023, 10, 26)
Date(2023, 10)
Date(2023)
# 关键字参数
function plot(x, y; style="solid", width=1, color="black", delim=" <=> ")
return join( [x, y, style, width, color], delim )
end
plot(1, 2)
plot(2, 1)
plot(1, 2, width=2)
plot(1, 2, color="red")
# 判断: if-elseif-else; ?:(三元操作符)
if height > 190
println("今天就到这吧, 我脖子疼")
elseif height > 170
println("加个微信吧?")
else
println("抱一丝, 我有对象了。")
end
score >= 60 ? println("及格了!") : println("不及格!")
# 循环: while; for
i = 1
while i <= 5
println(i)
i = i + 1
end
for j in ["a", "b", "c"]
println(j)
end
# 超纲内容:
## 异常处理(throw, try/catch)
## 循环结束后操作(finally)
## 提前退出(break, continue)
# 加载别人已经写好的代码集合: 白嫖真香
# julia
using CSV
import CSV
# R
library(ggplot2)
# python
import os
from Branch import m3
# bash
source something.sh
# Perl
use List::Util